package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 会议管理对象 meeting_management
 *
 * @author ruoyi
 * @date 2024-04-02
 */
public class MeetingManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 党组织id */
    @Excel(name = "党组织id")
    private Long deptId;

    /** 党组织名称 */
    @Excel(name = "党组织名称")
    private String deptName;

    /** 项目名称(党组织对应的项目) */
    @Excel(name = "项目名称(党组织对应的项目)")
    private String associateItem;

    /** 会议类型（数据字典） */
    @Excel(name = "会议类型", readConverterExp = "数=据字典")
    private String meetingType;

    /** 会议主题 */
    @Excel(name = "会议主题")
    private String meetingTheme;

    /** 会议开始时间 */
    @Excel(name = "会议开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String meetingStartTime;

    /** 会议截至时间 */
    @Excel(name = "会议截至时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String meetingEndTime;

    /** 会议地点 */
    @Excel(name = "会议地点")
    private String meetingPlace;

    /** 支持人id */
    @Excel(name = "支持人id")
    private Long compereId;

    /** 主持人名字 */
    @Excel(name = "主持人名字")
    private String compereName;

    /** 状态（0:未召开 1:进行中 2:已召开） */
    @Excel(name = "状态", readConverterExp = "0=:未召开,1=:进行中,2=:已召开")
    private String status;

    /** 会议方式（数据字典） */
    @Excel(name = "会议方式", readConverterExp = "数据字典")
    private String meetingMode;

    /** 会议内容 */
    @Excel(name = "会议内容")
    private String meetingContent;

    /** 相关要求 */
    @Excel(name = "相关要求")
    private String meetingRequire;

    /** 会议材料 */
    @Excel(name = "会议材料")
    private String meetingMaterial;

    /** 参会人员 */
    @Excel(name = "参会人员")
    private String meetingAttendee;

    /** 参会人类型（0:组织党员 1:指定党员 2:全体党员） */
    @Excel(name = "参会人类型", readConverterExp = "0=:组织党员,1=:指定党员,2=:全体党员")
    private String meetingAttendeeType;

    /** 会议签到（0:不签到 1:定位签到） */
    @Excel(name = "会议签到", readConverterExp = "0=:不签到,1=:定位签到")
    private String meetingSignature;

    /** 签到地点 */
    @Excel(name = "签到地点")
    private String meetingSignaturePlace;

    /** 是否补录会议（0:不是1：是） */
    private String clearingMeeting;

    /** 删除标志（0删除 1存在） */
    private String delFlag;


    /** 部门类型 */
    private String deptType;

    /**
     *  分页页数
     */
    private Integer pageNum;

    /**
     *  分页条数
     */
    private Integer pageSize;

    //参会人员id列表
    private List<String> userIdList;

    private List<SysUser> userList;

    private String userId;

    //会议材料列表
    private List<String> meetingMaterialList;

    //签到人数
    private Integer signatureCount;

    //参会人员人数
    private Integer meetingAttendeeCount;

    //会议纪要
    private MeetingSummary meetingSummary;

    //年
    private String queryYear;

    //月
    private String queryMonth;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setDeptName(String deptName)
    {
        this.deptName = deptName;
    }

    public String getDeptName()
    {
        return deptName;
    }
    public void setAssociateItem(String associateItem)
    {
        this.associateItem = associateItem;
    }

    public String getAssociateItem()
    {
        return associateItem;
    }
    public void setMeetingType(String meetingType)
    {
        this.meetingType = meetingType;
    }

    public String getMeetingType()
    {
        return meetingType;
    }
    public void setMeetingTheme(String meetingTheme)
    {
        this.meetingTheme = meetingTheme;
    }

    public String getMeetingTheme()
    {
        return meetingTheme;
    }
    public void setMeetingStartTime(String meetingStartTime)
    {
        this.meetingStartTime = meetingStartTime;
    }

    public String getMeetingStartTime()
    {
        return meetingStartTime;
    }
    public void setMeetingEndTime(String meetingEndTime)
    {
        this.meetingEndTime = meetingEndTime;
    }

    public String getMeetingEndTime()
    {
        return meetingEndTime;
    }
    public void setMeetingPlace(String meetingPlace)
    {
        this.meetingPlace = meetingPlace;
    }

    public String getMeetingPlace()
    {
        return meetingPlace;
    }
    public void setCompereId(Long compereId)
    {
        this.compereId = compereId;
    }

    public Long getCompereId()
    {
        return compereId;
    }
    public void setCompereName(String compereName)
    {
        this.compereName = compereName;
    }

    public String getCompereName()
    {
        return compereName;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setMeetingMode(String meetingMode)
    {
        this.meetingMode = meetingMode;
    }

    public String getMeetingMode()
    {
        return meetingMode;
    }
    public void setMeetingContent(String meetingContent)
    {
        this.meetingContent = meetingContent;
    }

    public String getMeetingContent()
    {
        return meetingContent;
    }
    public void setMeetingRequire(String meetingRequire)
    {
        this.meetingRequire = meetingRequire;
    }

    public String getMeetingRequire()
    {
        return meetingRequire;
    }
    public void setMeetingMaterial(String meetingMaterial)
    {
        this.meetingMaterial = meetingMaterial;
    }

    public String getMeetingMaterial()
    {
        return meetingMaterial;
    }
    public void setMeetingAttendee(String meetingAttendee)
    {
        this.meetingAttendee = meetingAttendee;
    }

    public String getMeetingAttendee()
    {
        return meetingAttendee;
    }
    public void setMeetingAttendeeType(String meetingAttendeeType)
    {
        this.meetingAttendeeType = meetingAttendeeType;
    }

    public String getMeetingAttendeeType()
    {
        return meetingAttendeeType;
    }
    public void setMeetingSignature(String meetingSignature)
    {
        this.meetingSignature = meetingSignature;
    }

    public String getMeetingSignature()
    {
        return meetingSignature;
    }
    public void setMeetingSignaturePlace(String meetingSignaturePlace)
    {
        this.meetingSignaturePlace = meetingSignaturePlace;
    }

    public String getMeetingSignaturePlace()
    {
        return meetingSignaturePlace;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getClearingMeeting() {
        return clearingMeeting;
    }

    public void setClearingMeeting(String clearingMeeting) {
        this.clearingMeeting = clearingMeeting;
    }

    public List<String> getUserIdList() {
        return userIdList;
    }

    public void setUserIdList(List<String> userIdList) {
        this.userIdList = userIdList;
    }

    public List<SysUser> getUserList() {
        return userList;
    }

    public void setUserList(List<SysUser> userList) {
        this.userList = userList;
    }

    public List<String> getMeetingMaterialList() {
        return meetingMaterialList;
    }

    public void setMeetingMaterialList(List<String> meetingMaterialList) {
        this.meetingMaterialList = meetingMaterialList;
    }

    public Integer getSignatureCount() {
        return signatureCount;
    }

    public void setSignatureCount(Integer signatureCount) {
        this.signatureCount = signatureCount;
    }

    public Integer getMeetingAttendeeCount() {
        return meetingAttendeeCount;
    }

    public void setMeetingAttendeeCount(Integer meetingAttendeeCount) {
        this.meetingAttendeeCount = meetingAttendeeCount;
    }

    public MeetingSummary getMeetingSummary() {
        return meetingSummary;
    }

    public void setMeetingSummary(MeetingSummary meetingSummary) {
        this.meetingSummary = meetingSummary;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getQueryYear() {
        return queryYear;
    }

    public void setQueryYear(String queryYear) {
        this.queryYear = queryYear;
    }

    public String getQueryMonth() {
        return queryMonth;
    }

    public void setQueryMonth(String queryMonth) {
        this.queryMonth = queryMonth;
    }

    public String getDeptType() {
        return deptType;
    }

    public void setDeptType(String deptType) {
        this.deptType = deptType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("associateItem", getAssociateItem())
            .append("meetingType", getMeetingType())
            .append("meetingTheme", getMeetingTheme())
            .append("meetingStartTime", getMeetingStartTime())
            .append("meetingEndTime", getMeetingEndTime())
            .append("meetingPlace", getMeetingPlace())
            .append("compereId", getCompereId())
            .append("compereName", getCompereName())
            .append("status", getStatus())
            .append("meetingMode", getMeetingMode())
            .append("remark", getRemark())
            .append("meetingContent", getMeetingContent())
            .append("meetingRequire", getMeetingRequire())
            .append("meetingMaterial", getMeetingMaterial())
            .append("meetingAttendee", getMeetingAttendee())
            .append("meetingAttendeeType", getMeetingAttendeeType())
            .append("meetingSignature", getMeetingSignature())
            .append("meetingSignaturePlace", getMeetingSignaturePlace())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
